#ifndef FUEL_CELL_INFOS_H
#define FUEL_CELL_INFOS_H

#include "list.h"
#include "point.h"
#include "types.h"

typedef struct s_CoeffBlock {
    tData self;
    tData constant;
    tData transfert[6];
    tData special_self;
    tData special[6];
    int special_type;
} CoeffBlock;

extern ListInt *blockNbNodesX, *blockNbNodesY, *blockNbNodesZ;

extern tData   *blockSizeX, *blockSizeY, *blockSizeZ;

extern ListInt *packedListX,  *packedListY,  *packedListZ;
extern int    *ePackedListX, *ePackedListY, *ePackedListZ;
extern Point3 packedListSize;

extern Point3 nbNodes;
extern Point3 matrixSize;

extern int   ***fuelCellMap;

extern CoeffBlock ***blocksCoeff;

void InitFuelCellInfos(int *granularity);

#endif

